#include "IdentityOperator.hpp"

IdentityOperator& IdentityOperator::operator=(const IdentityOperator& rhs) {
  return *this;
}

ElementaryOperatorP IdentityOperator::matMul(
    const ElementaryOperator& right) const {
  return right.concreteMatMul(*this);
}

ElementaryOperatorP IdentityOperator::concreteMatMul(
    const KetBra& left) const {
  return ElementaryOperatorP(new KetBra(left));
}

ElementaryOperatorP IdentityOperator::concreteMatMul(
    const IdentityOperator& left) const {
  return ElementaryOperatorP(new IdentityOperator(left));
}

